<template>
  <view>
    <button type="primary" @click="beep">beep</button>
    <button type="primary" @click="showProps">基础属性</button>
    <button type="primary" @click="getInfo">getInfo</button>
    <button type="primary" @click="getDeviceInfo">uni deviceInfo</button>
    <button type="primary" @click="getOAID">getOAID</button>
    <button type="primary" @click="getMacAddress">getMacAddress</button>
  </view>
</template>

<script lang="ts" setup>
  
  function beep() {
    plus.device.beep(3)
  }
  
  function showProps() {
    let props = ['imei', 'imsi', 'model', 'vendor', 'uuid']
    props.forEach(prop => {
      console.log(prop, plus.device[prop]);
    })
  }
  
  function getInfo() {
    // 都可以用，但是不能用uuid，重新安装应用后，uuid会变
    plus.device.getInfo({
      success:function(e){
        console.log('success', e);
      },
      fail:function(e){
        console.log('fail', e);
      }
    })
  }
  
  function getDeviceInfo() {
    let info = uni.getDeviceInfo()
    console.log('device info\n', info);
    console.log(info.deviceId);
  }
  
  /**
   * imei 或者 meid 都是手机的唯一标识，但不一定两个同时有
urovo 机器获取到的imei 实际上是他机器的 meid
plus的uuid 或者 uni的deviceId 再重新安装app后，都会变
   */
  
  // 获取匿名设备标识符
  // 只有几个国产安卓机器支持，不能大规模用
  function getOAID(){
  	plus.device.getOAID({
  		success:function(e){
  			console.log('getOAID success: '+JSON.stringify(e));
  		},
  		fail:function(e){
  			console.log('getOAID failed: '+JSON.stringify(e));
  		}
  	});
  }
  
  // 获取设备的mac地址
  // 可以获取 urovo的 wlan mac 地址，b4293d8126b5，全球唯一的
  function getMacAddress() {
      try{
        var net = plus.android.importClass("java.net.NetworkInterface");
        var wl0 = net.getByName('wlan0');
        var macByte = wl0.getHardwareAddress();
        var str = '';
        for (var i = 0; i < macByte.length; i++) {
            var tmp = "";
            var num = macByte[i];
            if (num < 0) {
                tmp = (255 + num + 1).toString(16);
            } else {
                tmp = num.toString(16);
            }
            if (tmp.length == 1) {
                tmp = "0" + tmp;
            }
            str += tmp;
        }
        console.log(str);
      }catch(e){
        console.log('getMacAddress error', e);
      }
  }
  
</script>

<style>

</style>
